/* 
 * File:   VistaNivel.h
 * Author: agu
 *
 * Created on 7 de junio de 2014, 20:04
 */

#ifndef VISTANIVEL_H
#define	VISTANIVEL_H
#include <gtkmm-3.0/gtkmm.h>
#include "Nivel.h"

class VistaNivel {
public:
    VistaNivel();
    void run();
    void setWindowsBack(Gtk::Window *windowBack);
    unsigned int getId();
    virtual ~VistaNivel();
private:
    void loadWidgets();
    void connectWidgets();
    void close();
    void back();
    void next();
    void incrementWidth();
    void incrementHeight();
    void generateGridMap();
    //Signal handlers:
    void on_button_drag_data_get(
            const Glib::RefPtr<Gdk::DragContext>& context,
            Gtk::SelectionData& selection_data, guint info, guint time);
    void on_label_drop_drag_data_received(
            const Glib::RefPtr<Gdk::DragContext>& context, int x, int y,
            const Gtk::SelectionData& selection_data, guint info, guint time);
    Nivel level;
    Glib::RefPtr<Gtk::Builder> builder;
    Gtk::Window *window, *windowsBack;
    Gtk::Entry* entryName;
    Gtk::Button *buttonContinue, *buttonBack, *buttonGenerate;
    Gtk::Button *buttonZombieRed, *buttonZombieBlue, *buttonZombieGreen, *buttonFriend;
    Gtk::Button *buttonGround, *buttonBox, *buttonMetal, *buttonBoxEnemy;
    Gtk::SpinButton *spinWidth, *spinHeight;
    Gtk::Grid *grid;
    Gtk::Scrollbar *scrollVertical, *scrollHorizontal;
    std::vector<Gtk::TargetEntry> listTargets;

};

#endif	/* VISTANIVEL_H */

